package main

/**
尝试通过chan使协程串行
*/

//func main() {
//	var smap sync.Map
//	var wg = sync.WaitGroup{}
//	//var cond = sync.Cond{L: &sync.RWMutex{}}
//	var ch = make(chan int)
//	wg.Add(2)
//
//	sum := 1
//	go func(s *sync.Map) {
//		defer wg.Done()
//		sum = <-ch
//		fmt.Println("协程1应该后执行,sum:", sum+2)  // 1+1+2 = 4
//	}(&smap)
//
//	go func(s *sync.Map) {
//		defer wg.Done()
//		fmt.Println("协程2应该先执行")
//		sum += 1
//		ch <- sum
//		fmt.Println("协程2,sum:", sum)
//
//	}(&smap)
//
//	wg.Wait()
//}
